﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sistema.WF.Componentes.FormulariosBase;
using Sistema.Kernel;
using Sistema.Dominio;
using System.Collections;
namespace Sistema.WF.View.Kernel
{
    public partial class FRM_pesquisaEmpresa : FRM_pesquisa
    {
        private EmpresaInfo _EmpresaSelecionada;

        private IList<EmpresaInfo> _empresasListadas;
        public FRM_pesquisaEmpresa()
        {
            InitializeComponent();
        }
      
      protected override void Confirmar()
        {
            Empresa empresa = new Empresa();

            int i = GRD_pesquisa.CurrentCell.RowIndex;
           
          _EmpresaSelecionada = _empresasListadas[i];
            this.Close();
            
        }

        public EmpresaInfo retornaEmpresa()
        {
            return _EmpresaSelecionada;
        }

        private void AtualizarGrid()
        {
            Util.GridHelper.AtualizarGrid(GRD_pesquisa);
            
        }

        protected override void Pesquisar(int ValueMember, string DadosConsulta)
        {
            this.AtualizarGrid();
            Empresa empresa = new Empresa();

            Sistema.Kernel.enumTipoPesquisaEmpresa tipoPesquisa =
                (enumTipoPesquisaEmpresa)ValueMember;

            String[] header = new String[4];
  
            IList<EmpresaInfo> lista = empresa.PesquisarEmpresa(tipoPesquisa, DadosConsulta);

            for (int i = 0; i < lista.Count; i++)
            {
                header[0] = lista[i].ID.ToString();
                header[1] = lista[i].DadosEmpresariais.CNPJ.ToString();
                header[2] = lista[i].DadosEmpresariais.RazaoSocial;
                header[3] = lista[i].DadosEmpresariais.Fantasia;
                GRD_pesquisa.Rows.Add(header);
            }

            _empresasListadas = lista;
        }

        
        public EmpresaInfo Pesquisar()
        {
            this.ShowDialog();

            return _EmpresaSelecionada;
        }

        private void FRM_pesquisaEmpresa_Load(object sender, EventArgs e)
        {
            _EmpresaSelecionada = new EmpresaInfo();
            base.CBO_filtroPesquisa.DataSource = base.CarregaMinhaCombo<enumTipoPesquisaEmpresa>();
        }

        
        
    }
}
